package Log;


/**
 * @author Gouke Leplat
 */


import Exceptions.ConfigurationException;
import be.groept.ace.cursusplanning.controller.AppConfig;
import be.groept.ace.cursusplanning.model.AangebodenCursus;
import be.groept.ace.cursusplanning.model.Cursus;
import be.groept.ace.cursusplanning.model.CursusHistoriek;
import be.groept.ace.cursusplanning.model.HerscholingCursist;
import be.groept.ace.cursusplanning.model.Inschrijving;
import be.groept.ace.cursusplanning.model.Lector;
import be.groept.ace.cursusplanning.model.LesDag;
import be.groept.ace.cursusplanning.model.Lokaal;
import be.groept.ace.cursusplanning.model.Opleiding;
import be.groept.ace.cursusplanning.model.VrijeCursist;
import be.groept.ace.cursusplanning.persistency.DBMS;
import be.groept.ace.cursusplanning.persistency.DBMS_Tekstbestanden;
import be.groept.ace.cursusplanning.utils.Datum;
import be.groept.ace.cursusplanning.utils.TijdsMoment1Dag;

public class CreateSampleData {
	public static void main(String[] args) throws  IllegalArgumentException,ConfigurationException{

		boolean init = true;

		if (init == true){Log.LOG("START",1);
			
			DBMS db;
			
			try {
				db = new DBMS(new DBMS_Tekstbestanden(new AppConfig("C:\\_temp\\javaprac\\AppConfig.txt")));
			} catch (ConfigurationException e) {
				throw e;
			}
			
			
			VrijeCursist vrijeCursist1 = new VrijeCursist("2", "Bram");
			
			HerscholingCursist herscholingsC1 = new HerscholingCursist("1","Jan");
			herscholingsC1.setRedenHerscholing("Geen werk");
			
			Cursus cursus1 = new Cursus(5,"Cursus1",3,120,Opleiding.Informatica);
			Cursus cursus2 = new Cursus(6,"Cursus2",6,240,Opleiding.Boekhouding);
			
			herscholingsC1.addCursusHistoriek(new CursusHistoriek(cursus1, "2000-2001"));
			herscholingsC1.addCursusHistoriek(new CursusHistoriek(cursus2, "2001-2002"));
			
			Lector lector1 = new Lector("L1", "Dhr Script", 20, cursus1);
			Lector lector2 = new Lector("L2", "Mevr. Pi", 18, cursus2);

				db.saveOrSwapLector(lector1);
				db.saveOrSwapLector(lector2);
				
			AangebodenCursus aangebodenCursus1 = new AangebodenCursus(cursus1, lector1, Lokaal.lok1_10, 
								new TijdsMoment1Dag(LesDag.WOENSDAG, 15, 5, 120),15);
			
			AangebodenCursus aangebodenCursus2 = new AangebodenCursus(cursus2, lector2, Lokaal.lok1_11, 
					new TijdsMoment1Dag(LesDag.DINSDAG, 15, 5, 120),15);
			
			
			
			Inschrijving inschrijving1 = new Inschrijving(new Datum(10,9,2012), vrijeCursist1, aangebodenCursus1);
			Inschrijving inschrijving2 = new Inschrijving(new Datum(10,9,2012), herscholingsC1, aangebodenCursus2);
			Inschrijving inschrijving3 = new Inschrijving(new Datum(10,9,2012), vrijeCursist1, aangebodenCursus2);
			Inschrijving inschrijving4 = new Inschrijving(new Datum(10,9,2012), herscholingsC1, aangebodenCursus1);
			
				vrijeCursist1.addInschrijving(inschrijving1);
				vrijeCursist1.addInschrijving(inschrijving3);
				herscholingsC1.addInschrijving(inschrijving2);
				herscholingsC1.addInschrijving(inschrijving4);

				db.saveOrSwapInschrijving(inschrijving1);
				db.saveOrSwapInschrijving(inschrijving2);
				db.saveOrSwapInschrijving(inschrijving3);
				db.saveOrSwapInschrijving(inschrijving4);

				db.saveOrSwapCursist(vrijeCursist1);
				db.saveOrSwapCursist(herscholingsC1);
				db.saveOrSwapCursus(cursus1);
				db.saveOrSwapCursus(cursus2);
				
				Log.LOG("Succeeded");
		}
	}	
}
